Process for determining the activation of at least one key of a multi-key device

ABSTRACT

The invention relates to a process for determining the activation of at least one key of a multi-key device. The multi-key device comprises a plurality of keys K 1  to K n  and a plurality of force sensors C 1  to C n , each force sensor C 1  to C n  being associated respectively with a key K 1  to K n  and able to provide a value representing a force which is applied to it. The process is characterized by the fact that it comprises the steps: obtaining values F′ 1  to F′ n  representing the force applied to each of the force sensors C 1  to C n ; providing transmission rate values of a pressing force between the keys; removing the contribution of each of the force values F′ 1  to F′ n  from the pressing force transmitted between the keys using the transmission rate values provided; and determining values F 1  to F n  representing the pressing force which has been applied by the user to the keys K 1  to K n .

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit under 35 U.S.C. §371 of publishedPCT Patent Application Number PCT/EP 2013/055550, filed Mar. 18, 2013,claiming priority to French patent application number FR12/00809 filedon 16 Mar. 2012, and published as WO2013/135906 on Sep. 19, 2013, theentire contents of which is hereby incorporated by reference herein.

TECHNICAL FIELD OF INVENTION

The present invention relates generally to a process or algorithm fordetermining the key or keys of a multi-keyed device on which a user haspressed. The invention is applied to multi-key devices and moreparticularly to multi-key devices or apparatus that includes forcesensors having a resistance sensitive to an applied force (FSR, ForceSensitive Resistor) and operating in a pre-loaded condition, and inwhich the activation of a key is determined when a sensed force isgreater than a predetermined force threshold.

BACKGROUND OF INVENTION

Multi-key devices exist that include a plurality of keys which areactivated by FSR force sensors the resistance of which varies as afunction of the force applied to the key and the sensor. The deviceincludes an algorithm permitting determination that a key has beenpressed and activated when the amplitude of the applied force is greaterthan a predetermined force threshold.

One algorithm currently used is based on a high-pass filter having along time constant (16 samples for a sampling period of 20 msec). Theoutput value of this filter, which depends on the velocity and on theactuation force, is compared with thresholds to detect any change of thesensor.

Another currently used algorithm is based on a software task (longperiod) responsible for calculating an inactive state for the keys. Onthe basis of the level of the evaluated inactive state, a secondsoftware task (quick period) compares a current pressure level with thelevel of the recalculated inactive state.

However, it happens that the currently used algorithms do not permitcorrect identification of the keys pressed when a user presses on aplurality of different keys of a multi-key device in a connected manner.When a user presses on several different keys, a pressure can be appliedto the force sensors of other keys on which the user has not directlypressed (particularly when the space between the keys is small), andthese force sensors then provide signals to the device indicating thattheir keys have been pressed while in reality the user has only pressedon adjacent keys.

In addition, when a user presses heavily and/or for a long time on akey, the force sensors of the adjacent keys can receive a large pressureand provide a signal to the device indicating that their keys have beenpressed.

Thus, the device does not correctly determine the keys which have reallybeen touched and pressed by the user and, therefore, does not correctlydetermine the keys which the user wished to activate.

SUMMARY OF THE INVENTION

An aim of the present invention is to respond to the disadvantagesmentioned above by providing a process for determining the key or keysof a multi-key device on which a user has really pressed.

To this end, a first aspect of the present invention relates to aprocess for determining the activation of at least one key of amulti-key device, the multi-key device includes a plurality of keys K₁to K_(n) and a plurality of force sensors C₁ to C_(n), each force sensorC₁ to C_(n) being respectively associated with a key K₁ to K_(n) andable to provide a value representing a force which is applied to it, theprocess being characterised by the fact that it includes the steps of:obtaining values F′₁ to F′_(n) representing the force applied to each ofthe force sensors C₁ to C_(n); providing transmission rate values of apressing force between the keys (K); removing the contribution of eachof the force values F′₁ to F′_(n) from the pressing force (F)transmitted between the keys (K) using the transmission rate values(T_(ij)) provided; and determining values F₁ to F_(n) representing thepressing force which has been applied by the user to the keys K₁ toK_(n).

Such a process permits elimination of the parasitic forces applied tothe sensors which emanate from the adjacent keys and permitsdetermination of the keys which have really been pressed by the user.

In accordance with an advantageous embodiment, at the step of providingtransmission rate values, the transmission rate values T_(ij) areprovided for each key K₁ to K_(n), each transmission rate value T_(ij)representing the part of a pressing force transmitted from a first keyK_(j) to a second key K_(i) when the user presses on the first keyK_(j), the transmission rate values T_(ij) being provided for j=1 to nand i=1 to n. The process thus permits elimination of the parasiticforces applied to a sensor which emanate from all the other keys andpermits very precise determination of the keys which have really beenpressed by the user.

In accordance with an advantageous embodiment, the transmission ratevalues T_(ij) are included in a transmission rate matrix T having thefollowing form:

$\quad\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}$and the values F₁ to F_(n) representing a pressing force applied by theuser to the keys of the multi-key device (1) are determined using thefollowing formula in which the inverse of the transmission rate matrixT⁻¹ is multiplied by a vector of the values F′₁ to F′_(n) representingthe force applied to the force sensors C₁ to C_(n):

$\begin{pmatrix}F_{1} \\\vdots \\F_{n}\end{pmatrix} = {\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}^{- 1} \cdot \begin{pmatrix}F_{1}^{\prime} \\\vdots \\F_{n}^{\prime}\end{pmatrix}}$

The use of a matrix allows the calculations to be made more rapidly.

Advantageously, the transmission rate values T_(ij) provided depend inparticular on the distance between the keys. It is thus possible toprovide transmission rate values T_(ij) for adjacent keys and for keysremote one from the other, to allocate a value of zero to thetransmission rate values T_(ij) in order to make the calculations of themulti-key device less intensive.

In very advantageous manner, the transmission rate values T_(ij) arefixed at zero for keys which are separated by a distance greater than apredetermined distance. It is thus possible to make the calculations ofthe multi-key device less intensive.

In accordance with an advantageous embodiment, the transmission ratevalues T_(ij) are fixed at zero for keys which are separated by at leastone intercalary key, or at least two intercalary keys. It is thuspossible to make the calculations of the multi-key device lessintensive.

In accordance with an advantageous embodiment, the transmission ratevalues T_(ij) are measured values or values theoretically calculated bydigital simulation. This allows very precise calculation of the valuesF₁ to F_(n).

In accordance with another advantageous embodiment, the force sensor isan FSR sensor having a resistance sensitive to an applied force.

In accordance with another advantageous embodiment, the multi-key deviceincludes a support that includes a first and a second surface andpressing surfaces of the keys are situated on the first surface and aforce is applied to the plurality of force sensors via the secondsurface.

In accordance with a second aspect, the present invention relates to acomputer program product for a processing unit stored on a support andincludes portions of software code readable by the processing unit toexecute the steps of the process such as defined above.

BRIEF DESCRIPTION OF DRAWINGS

Other characteristics and advantages of the present invention willbecome more clearly apparent on reading the following detaileddescription of embodiments of the invention given as in no way limitingexamples and illustrated by the attached drawings, in which:

FIG. 1 shows a multi-key device having nine keys in which an embodimentof the invention is presented;

FIG. 2 shows a multi-key device having three keys in which an embodimentof the invention is presented; and

FIG. 3 shows steps of the process in accordance with an embodiment ofthe present invention.

DETAILED DESCRIPTION

The invention will be described below solely by means of non-limitingexamples in relation to the Figures. FIGS. 1, 2(a), (b) and (c) show amulti-key device in which an embodiment of the invention is presented.

FIG. 1 shows a multi-key device 1 that includes a plurality of keys Keach including a pressing surface 2 on which a user places his finger topress and actuate the key.

The multi-key device 1 that includes the keys K₁ to K_(n) where n=9 anda plurality of force sensors C₁ to C_(n) where n=9. Each of the keys K₁to K₉ is associated with a force sensor of the plurality of forcesensors C₁ to C₉ and when a user presses on a key K, it is the forcesensors C associated with this key K which mainly receives the pressingforce of the user and provides a signal indicating that its associatedkey K has been pressed.

In the multi-key device 1 shown in FIG. 1, the keys K₁ to K₉ arerespectively associated with the force sensors C₁ to C₉, i.e. the key K₁is associated with the force sensor C₁, the key K₂ is associated withthe force sensor C₂ etc.

The multi-key device 1 includes a first support 3 and a second support5. The first support 3 includes a first surface 7 and a second surface9, and the second support 5 includes a first surface 11 and a secondsurface 13. The pressing surfaces 2 are situated on the first surface 7which is an external surface visible to the user and the force sensorsC₁ to C₉ are situated inside the device 1 on the first surface 11 of thesecond support 5 and facing the second surface 9 of the first support 3.

The first support 3 and the second support 5 are shown separated in theFigures to facilitate understanding of the present invention, but inreality the second surface 9 of the first support 3 is in contactdirectly, or indirectly via a flexible substrate, with the plurality offorce sensors C₁ to C₉. Optionally, another flexible substrate can bepresent between the plurality of force sensors C₁ to C₉ and the firstsurface 11 of the second support 5. In addition, the first support 3 canbe connected to the second support 5 in such a manner as to apply apredetermined force to the plurality of force sensors C₁ to C₉ and thedevice 1 is thus in a pre-loaded state.

Each force sensor C includes an FSR layer having a resistance sensitiveto an applied force (Force Sensitive Resistor) and a first and a secondelectrically conductive track (not shown) in direct contact with thelayer. When a force is applied to a sensor, for example by a userpressing on the associated key, a short-circuit is formed between thefirst and the second track and in addition the resistance of the layerchanges (for example, it decreases) so that the electrical resistancebetween the first and the second track also changes (for example, itdecreases).

Alternatively, other force sensors such as those using a variation inelectrical capacitance or the intensity of an electromagnetic wave canbe used.

A signal representing the value of the electrical resistance between thefirst and the second track is received by a microcontroller 15 (FIG. 2)of the device 1 which is connected to each force sensor C₁ to C₉. Themicrocontroller 15 is configured to process this received signal inorder to determine whether the user has pressed on a key K. The device 1includes a memory (not shown) containing at least one program/algorithmwhich is used by the microcontroller 15 to process the received signalin order to determine whether a key K has been pressed.

As shown in FIG. 2( a), when the user applies a pressing force F to akey K, for example the key K₁, a force F′₁ is applied to the forcesensor C₁. The force F′₁ applied to the force sensor C₁ modifies theresistance value and the signal delivered to the microcontroller 15, andthe microcontroller 15 determines, on the basis of the change in thisvalue, that the key K₁ has been pressed by the user.

FIGS. 2( a), (b) and (c), show a multi-key device identical to thedevice shown in FIG. 1 but which includes only three keys K₁, K₂ and K₃in order to facilitate understanding of the present invention.

When the user applies a pressing force F to the key K₁, a force F′₁ isnot only applied to the force sensor C₁ but a force F′₂ and a force F′₃are simultaneously applied to the force sensors C₂ and C₃ respectivelysince the first support 3 is displaced towards the second support 5 whenthe user presses. A part of the force F applied to the key K₁ istransmitted to the adjacent keys so that a force is applied to the forcesensors C₂ and C₃ via the second surface 9 of the first support 3. Thisalso happens when the user applies a pressing force F to the key K₂ anda pressing force F to the key K₃, as shown in FIGS. 2( b) and 2(c).

As mentioned above, when the user presses heavily and/or for a long timeon the key K₁, the microcontroller 15 receives resistance values fromeach of the force sensors C₁ to C₃ indicating a change of resistancevalue and it could determine incorrectly that the user has pressed onthe keys K₁ and K₂, or each of the three keys K₁, K₂ and K₃.

In addition, when the user presses on the keys K₁ and K₃, themicrocontroller 15 receives a resistance value of the force sensor C₂,indicating a change in resistance value, and it could determineincorrectly, for example, that the user has pressed on each of the threekeys K₁, K₂ and K₃.

The microcontroller 15 of the device 1 is configured to use a process(or an algorithm) in accordance with the present invention to determinewhether one or more keys have been activated. The process permitsdetermination of the key on which the user has really pressed, or thekeys on which the user has really pressed.

This process in accordance with the present invention includes a step S1of obtaining (FIG. 3), from each of the force sensors C₁ to C₃, valuesF′₁ to F′₃ representing the force applied to the force sensors C₁ to C₃.

The process includes in addition a step S2 of providing transmissionrate values T_(ij) of a pressing force between keys. The step includesproviding transmission rate values T_(ij) for each key K₁, K₂ and K₃ inwhich each transmission rate value T_(ij) represents the part of a forcetransmitted, mechanically or involuntarily, from a first key K_(j) to asecond key K_(i), when the user presses on the first key K_(j). Forexample, in FIG. 2( a), the transmission rate value T₂₁ represents thepart of the force F transmitted from the key K₁ to the key K₂ and whichproduces the force F′₂ applied to the force sensor C₂; and thetransmission rate value T₃₁ represents the part of the force Ftransmitted from the key K₁ to the key K₃ and which produces the forceF′₃ applied to the force sensor C₃.

In this step S2, the transmission rate values T_(ij) are provided forj=1 to 3 and i=1 to 3; i.e. the transmission rate values T₁₁, T₂₁, T₃₁(corresponding to the situation shown in FIG. 2( a)), T₁₂, T₂₂, T₂₃(corresponding to the situation shown in FIG. 2( b)) and T₃₁, T₃₂, T₃₃corresponding to the situation shown in FIG. 2( c)) are provided.

In a modified embodiment of the present invention, the transmission ratevalues T_(ij) for keys remote from one another (by a distance greaterthan a predetermined distance or by at least one, at least two or moreintercalary keys) are allocated a value of zero (0) in order to make thecalculations of the device 1 less intensive. For example, for the device1 shown in FIGS. 2( a), (b) and (c), T₃₁=0 and T₁₃=0.

The process includes in addition a step S3 of removing the contributionof each of the force values F′₁ to F′_(n) emanating from the pressingforce F transmitted between the keys K, using the transmission ratevalues T_(ij) provided. The contribution to the values of the forcesF′₁, F′₂ and F′₃ emanating from the pressing force transmitted by thekeys K₁ to K₃ is removed, using the transmission rate values T_(ij).

The process includes in addition a step S4 of determining values F₁ toF₃ representing the pressing force which has really been applied by theuser to the keys K₁ to K₃ and indicating the keys K₁ to K₃ which theuser has physically touched or pressed.

The process includes in addition a step S5 of determining the key or thekeys activated on the basis of the values F₁ to F₃ determined.

The process can optionally include in addition a step S6 of providingthe values F₁ to F₃ representing the pressing force which has reallybeen applied by the user to the keys K₁ to K₃ to another algorithmstored in the device 1 in order to use this result to implement anapplication or perform an action.

For example, in accordance with the present invention, for the situationshown in FIG. 2( a), the contribution to each of the forces F′₂ and F′₃emanating from the force transmitted, following the application of theforce F to the key K₁, is removed so that only the value F₁ of thevalues F₁ to F₃ representing the pressing force which has really beenapplied by the user to the keys K₁ to K₃ will have a high valueindicating that only the key K₁ has been pressed by the user.

The transmission rate values T_(ij) are measured values (for example, bymeasuring the forces applied to the sensors when each of the keys ispressed) or are values theoretically calculated by digital simulation.The transmission rate values T_(ij) are included in a transmission ratematrix T having the following form (in which n is the number of keys ofthe device 1):

$\quad\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}$

A vector of the values F′₁ to F′_(n) representing the forces applied tothe force sensors C₁ to C_(n) when a force F is applied to the keys ofthe device 1 is given by the following formula in which the transmissionrate matrix T is multiplied by a vector of the values F₁ to F_(n)representing the forces applied to the keys of the device 1:

$\begin{pmatrix}F_{1}^{\prime} \\\vdots \\F_{n}^{\prime}\end{pmatrix} = {\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix} \cdot \begin{pmatrix}F_{1} \\\vdots \\F_{n}\end{pmatrix}}$

The values F₁ to F_(n) representing the pressing force which the userhas really applied to the key K₁ to K_(n) and indicating the keys K₁ toK₃ which the user has physically touched or pressed are determined usingthe following formula in which the inverse of the transmission ratematrix T⁻¹ is multiplied by the vector of the values F′₁ to F′_(n)representing the forces applied to the force sensors C₁ to C_(n):

$\begin{pmatrix}F_{1} \\\vdots \\F_{n}\end{pmatrix} = {\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}^{- 1} \cdot \begin{pmatrix}F_{1}^{\prime} \\\vdots \\F_{n}^{\prime}\end{pmatrix}}$

For example, for the device 1 having three keys 2 such as shown in FIGS.2( a), 2(b) and 2(c), if 50% of the force F is transmitted to the sensorC₁, 20% to the sensor C₂ and 5% to the sensor C₃ when the user presseson the key K₁ with a force F; and 25% of the force F is transmitted tothe sensor C₁, 50% to the sensor C₂ and 25% to the sensor C₃ when theuser presses on the key K₂ with a force F; and if 5% of the force F istransmitted to the sensor C₁, 30% to the sensor C₂ and 50% to the sensorC₃ when the user presses on the key K₃ with a force F, the resulting 3×3transmission rate matrix T is as follows:

$\begin{matrix}0.5 & 0.25 & 0.05 \\0.2 & 0.50 & 0.3 \\0.05 & 0.25 & 0.5\end{matrix}$and the inverse of the 3×3 transmission rate matrix T⁻¹ is:

$\begin{matrix}2.59 & {- 1.67} & 0.74 \\{- 1.26} & 3.67 & {- 2.07} \\0.37 & {- 1.67} & {2.96.}\end{matrix}$

When the user presses on the key K₁ and then on the key K₃ (situation ofFIGS. 2( a) and 2(c)), a force is applied to each of the three sensorsC₁ to C₃ and a state of the art microcontroller 15 could incorrectlydetermine that the user has pressed on each of the three keys K₁, K₂ andK₃. The present invention allows such an error to be avoided and theprovision of the values F₁ to F_(n) indicating the keys K₁ to K₃ whichthe user has really pressed.

If the measured values F′₁ to F′₃ representing the forces applied to theforce sensors C₁ to C₃ are, for example, F′₁=1.2N, F′₂=1.6N andF′₃=2.1N, the vector of the values F′₁ to F′₃ representing the forcesapplied to the force sensors C₁ to C_(n) is F′={1.2N; 1.6N; 2.1N}. Thevalues F₁ to F₃ representing the pressing force which the user hasapplied to the keys K₁ to K₃ are determined as indicated below, byapplying the formula:

$\begin{pmatrix}F_{1} \\\vdots \\F_{n}\end{pmatrix} = {\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}^{- 1} \cdot \begin{pmatrix}F_{1}^{\prime} \\\vdots \\F_{n}^{\prime}\end{pmatrix}}$where, the force F₁ on the key K₁ is 2.59*1.2N−1.67*1.6N+0.77*2.1N=2N;the force F₂ on the key K₂ is: −1.26*1.2N+3.67*1.6N−2.07*2.1N=0N; andthe force F₃ on the key K₃ is: 0.37*1.2N−1.67*1.6N+2.96*2.1N=4N.

The state of the art microcontroller 15 would have interpreted that thevalues F′₁=1.2N, F′₂=1.6N and F′₃=2.1N indicate that the key K₃ hasalone been pressed (since the value F′₃ is the maximum value) or thatthe keys K₂ and K₃ or K₁, K₂ and K₃ have been pressed. Conversely, bymeans of the process of the present invention, the microcontroller 15will determine that the key K₁ and the key K₃ have beenpressed/activated and that the key K₂ has not been pressed/activated.The process in accordance with the present invention thus permitscorrect identification of all the keys pressed/activated when a userpresses on multiple keys 2.

In addition, when the user has pressed heavily and/or for a long time ona key, for example K₁, the process in accordance with the presentinvention also permits determination of the values F₁ to F₃ as indicatedabove and correct identification that the key K₁ has been pressed.

The present invention also relates to a computer program for aprocessing unit, such as the microcontroller 15, stored on a support andincludes portions of software code readable by the processing unit toexecute the steps of the process.

It will be understood that various modifications and/or improvementsobvious to the man skilled in the art can be made to the differentembodiments of the invention described in the present descriptionwithout departing from the scope of the invention defined by theattached claims.

The invention claimed is:
 1. A process for determining the activation ofat least one key of a multi-key device, the multi-key device comprisinga plurality of keys K₁ to K_(n), where n is an integer number of keys,and a plurality of force sensors C₁ to C_(n), each force sensor C₁ toC_(n) being associated respectively with one of the plurality of keys K₁to K_(n), the process comprising the steps of: obtaining values F′₁ toF′_(n), each of the values representing a force applied to each of theforce sensors C₁ to C_(n), respectively; providing transmission ratevalues (T_(ij)) that are measured values or values calculatedtheoretically by digital simulation indicative of a pressing forcetransmitted between each of the plurality of keys, where i and j areintegers indicative of a portion of the pressing force transmitted froma first key Kj to a second key Ki when the first key Kj is pressed forj=1 to n and i=1 to n; removing the contribution of each of the forcevalues F′₁ to F′_(n) emanating from the pressing force transmittedbetween each of the plurality of keys by using the transmission ratevalues (T_(ij)) provided; and determining values F₁ to F_(n)representing the pressing force which has been applied by a user to theplurality of keys K₁ to K_(n), wherein the transmission rate valuesT_(ij) are included in a transmission rate matrix (T) having the form:$\quad\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}$ and the values F₁ to F_(n) representing the pressingforce applied by the user to each of the keys of the multi-key deviceare determined using the following formula in which the inverse of thetransmission rate matrix (T⁻¹) is multiplied by a vector of the valuesF′₁ to F′_(n) representing the force applied to the force sensors C₁ toC_(n); ${\begin{pmatrix}F_{1} \\\vdots \\F_{n}\end{pmatrix} = {\begin{pmatrix}T_{11} & \ldots & T_{1n} \\\vdots & \ddots & \vdots \\T_{n\; 1} & \ldots & T_{nn}\end{pmatrix}^{- 1} \cdot \begin{pmatrix}F_{1}^{\prime} \\\vdots \\F_{n}^{\prime}\end{pmatrix}}},$ wherein the transmission rate values T_(ij) are fixedat zero for keys which are separated by a distance greater than apredetermined distance.
 2. The process as described in claim 1, whereinthe transmission rate values T_(ij) provided depend on the distancebetween the each of keys.
 3. The process as described in claim 1,wherein the transmission rate values T_(ij) are fixed at zero for keyswhich are separated by at least one intervening key.
 4. The process asdescribed in claim 1, wherein each force sensor is a sensor having aresistance sensitive to an applied force (FSR).
 5. The process asdescribed in claim 1, wherein the multi-key device includes a supportcomprising a first surface and a second surface, and pressing surfacesof the plurality of keys are situated on the first surface, and a forceis applied to the plurality of force sensors via the second surface. 6.A non-transitory computer program product for a processing unit storedon a support and comprising portions of software code readable by theprocessing unit to execute the steps of the process as described inclaim 1.